package com.developer.web.content.publicpage.macroproceso;


import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.developer.core.page.PublicPage;
import com.developer.core.utils.ObjectToXML;
import com.developer.logic.modulo.general.dto.VOMacroProceso;
import com.developer.logic.modulo.general.dto.VOProceso;
import com.developer.persistence.modulo.general.ControllerMacroProceso;
import com.developer.persistence.modulo.general.ControllerProceso;

public class PageSubprocesos extends PublicPage {

	@Override
	public String getNextPage() {
		// TODO Auto-generated method stub
		return null;
	}
	
	
	
	@Override
	public StringBuffer executeAction(HttpServletRequest request) {
		
		StringBuffer xmlPage = null;
		xmlPage = new StringBuffer();
		
		/*
		 * ========================
		 * == MACRO-PROCESO
		 * ========================
		 */
		Map<String, Object> parameters = getParameters(request, true);
		VOMacroProceso macroProc = (VOMacroProceso)getParameterToObject("VOMacroProceso", VOMacroProceso.class, null, parameters);

		ControllerMacroProceso controllerMacro = new ControllerMacroProceso();
		List<VOMacroProceso> listaMacro = controllerMacro.consultaMacroProcesoSel();
		
		listaMacro.add(macroProc);
		
		for(VOMacroProceso recorridoMacro:listaMacro ){
			
			if ((recorridoMacro.getMacro_codigo()>= 1) &&(recorridoMacro.getMacro_codigo()<= 4))
			{recorridoMacro.setProceso_semaforo("VERDE");}
		if (recorridoMacro.getMacro_codigo()==5){recorridoMacro.setProceso_semaforo("AMARILLO");}
		if (recorridoMacro.getMacro_codigo()==6){recorridoMacro.setProceso_semaforo("VERDE");}
		if (recorridoMacro.getMacro_codigo()==7){recorridoMacro.setProceso_semaforo("AMARILLO");}
		if (recorridoMacro.getMacro_codigo()==8){recorridoMacro.setProceso_semaforo("AMARILLO");}
		if (recorridoMacro.getMacro_codigo()==9){recorridoMacro.setProceso_semaforo("VERDE");}
		if (recorridoMacro.getMacro_codigo()==10){recorridoMacro.setProceso_semaforo("ROJO");}
		if (recorridoMacro.getMacro_codigo()==11){recorridoMacro.setProceso_semaforo("VERDE");}
		if (recorridoMacro.getMacro_codigo()==12){recorridoMacro.setProceso_semaforo("ROJO");}
		if (recorridoMacro.getMacro_codigo()==13){recorridoMacro.setProceso_semaforo("VERDE");}
		if (recorridoMacro.getMacro_codigo()==14){recorridoMacro.setProceso_semaforo("VERDE");}
		if (recorridoMacro.getMacro_codigo()==15){recorridoMacro.setProceso_semaforo("VERDE");}
		if (recorridoMacro.getMacro_codigo()==16){recorridoMacro.setProceso_semaforo("VERDE");}
		}
		
		/*
		 * ========================
		 * == PROCESO
		 * ========================
		 */
				
		ControllerProceso controllerProc = new ControllerProceso();
		List<VOProceso> listaProc = controllerProc.consultarProceso(macroProc);
		for(VOProceso recorrerProc: listaProc){
			
			recorrerProc.setMacroProceso(macroProc);
			
			if (recorrerProc.getPro_codigo() == 4)
			{recorrerProc.setPorcentajeCumplimientoProc("61%");
			recorrerProc.setSubproceso_semaforo("VERDE");}
			
			if (recorrerProc.getPro_codigo() == 6)
			{recorrerProc.setPorcentajeCumplimientoProc("98%");
			recorrerProc.setSubproceso_semaforo("VERDE");}
			
			if (recorrerProc.getPro_codigo() == 7)
			{recorrerProc.setPorcentajeCumplimientoProc("47%");
			recorrerProc.setSubproceso_semaforo("AMARILLO");}
			
			if (recorrerProc.getPro_codigo() == 8)
			{recorrerProc.setPorcentajeCumplimientoProc("10%");
			recorrerProc.setSubproceso_semaforo("ROJO");}
			
			if (recorrerProc.getPro_codigo() == 14)
			{recorrerProc.setPorcentajeCumplimientoProc("31%");
			recorrerProc.setSubproceso_semaforo("ROJO");}
			}
		
		
		xmlPage.append(ObjectToXML.getInstance().getXML(listaMacro));
		xmlPage.append(ObjectToXML.getInstance().getXML(listaProc));
				
		return xmlPage;
		
	
	}
	
	@Override
	public boolean isAccesoValido(HttpServletRequest arg0) {
		return true;

	}
	
	
	
}
